Embodiments of the present invention generally relate to connection or pairing of wireless devices. More particularly, embodiments of the present invention relate to facilitated connection or pairing of wireless devices using machine-readable features, such as visual and audio signals.
Many electronic devices today have wireless interfaces that support wireless network communications. For example, a wireless personal area network (WPAN) is a type of personal area network (PAN) for interconnecting wireless devices centered around, for example, an individual's personal workspace. Typically, a WPAN uses some technology that permits communication within approximately 10 meters (or some other short range). One such technology that has gained widespread popularity is Bluetooth, which was used as the basis for a new standard called IEEE 802.15. Other such technologies include, for example, infrared data association (IrDA), ultra-wideband (UWB), Z-Wave®, ZigBee®, ANT™, and Bluetooth Low Energy (also known as Bluetooth 4.0).
Bluetooth is one standard for wireless communication between devices with a wireless interface, such as between a personal computer and a mobile telephone, over short distances and at low power. Bluetooth allows voice and data communications between various digital devices without a physical cable, using frequency-hopping spread spectrum technology in a radio frequency (RF) band of 2.45 GHz that may not require a license for wireless communication. For example, Bluetooth wireless technology built into a mobile telephone and a laptop computer may be used to replace one or more cables used to interconnect the mobile telephone, the laptop computer, and various peripherals and accessories of the mobile telephone and laptop computer. Various other electronic devices, including Personal Digital Assistants (PDA), hands-free headsets, car speakerphone/audio systems, digital cameras, desktop computers, facsimile machines, printers, scanners, global positioning system (GPS) receivers, copiers, keyboards, mice, and video game consoles, may also be included in a Bluetooth network.
A user terminal supporting the Bluetooth standard may establish a wireless connection with neighboring Bluetooth devices using point-to-point connections. A master-slave structure may be used with one master device communicating with up to seven slave devices in a network group called a piconet. All slave devices may share the master device's clock. Packet exchange is based on the piconet basic clock, defined by the master, which ticks at 312.5 μs intervals. During the pairing process, the slave devices adapt their native clocks with a timing offset in order to match their native clocks to the piconet basic clock (i.e., the master's clock). In the simple case of single-slot packets, the master device transmits in even slots and receives in odd slots; the slave devices, conversely, receive in even slots and transmit in odd slots. Packets may be one, three, or five slots long, and the master device may begin each transmission in an even slot, while the slave devices may begin each transmission in an odd slot. Devices may switch roles, by agreement, and a slave device may become a master device at any time. Simultaneous transmission from the master device to multiple slave devices is possible via a broadcast mode.
Many of the services offered over Bluetooth can expose private data or allow the connecting party to control the Bluetooth device. For security reasons, it is sometimes desirable to control the devices that are allowed to connect to a given Bluetooth device. At the same time, it is useful for Bluetooth devices to automatically establish a connection without user intervention as soon as they are in range. To resolve this conflict, Bluetooth uses a process called pairing. Pairing may be used to establish wireless connection parameters between two devices. Pairing is generally initiated using a discovery process that makes the device's Bluetooth link visible to other devices. The pairing process is typically triggered automatically the first time a device receives a connection request from a device with which it is not yet paired. After a pairing has been established, parameters associated with the pairing may be remembered (e.g., stored) by the devices, which can then reconnect to each other without user intervention. If desired, the pairing relationship can later be removed by the user.
To facilitate pairing, each Bluetooth device is associated with a unique 48-bit address known as the Bluetooth Device Address or BD_ADDR. The device-specific BD_ADDR may be used to seed algorithms required to implement the core Bluetooth functionality. For example, the BD_ADDR is used during physical connection establishment (e.g., the paging procedure) and device discovery (e.g., the inquiry procedure). The BD_ADDR is also used by the Bluetooth communication protocol stack to maintain link layer security.
In order to successfully pair two Bluetooth devices, a user of a first Bluetooth device must typically manually select a desired second Bluetooth device to pair with from a menu or list of available Bluetooth devices in range of the first Bluetooth device. In order to generate the menu or list of available Bluetooth devices, the Bluetooth inquiry and paging procedures are executed. These procedures may be quite lengthy requiring several seconds to complete. Discovered Bluetooth devices are generally displayed in the menu or list alphabetically by BD_ADDR (or a device-friendly name, such as manufacturer/model number, or other unique identifier). After Bluetooth devices have been paired a first time, the Bluetooth devices may remember (e.g., store) information relating to the pairing (e.g., the Bluetooth address, one or more link keys, PIN values, etc.) and be configured to connect automatically in the future whenever the Bluetooth devices are in range. When Bluetooth devices share information relating to a pairing (e.g., link keys), the Bluetooth devices are sometimes said to be “bonded.”
Similarly, in order to connect a device to an access point (AP) in a wireless local area network (WLAN), such as an 802.11 network, a unique identifier or address is typically required. For example, every basic service set (BSS) has an identification called the BSSID, which is typically representative of the MAC address of the AP servicing the BSS. In order to connect to another device in the BSS, a device must first connect to the AP using the BSSID of the AP. For example, a user of a device must generally select the desired BSSID corresponding to the desired AP from a list or menu. After a device has connected to an AP a first time, the device may remember (e.g., store) information relating to the connection (e.g., the BSSID of the AP, security settings, AP passkeys, etc.) and be configured to connect automatically in the future whenever the devices are in range. Some WLAN devices (e.g., Blackberry® devices) may also support an automatic WLAN setup mode where a physical button (e.g., a Wi-Fi Protected Setup button) may be pressed on an AP or wireless router. In the automatic WLAN setup mode, network address and encryption information may be automatically transferred to the WLAN device and stored on the WLAN device in a profile.
In some cases, manual intervention may be required to pair Bluetooth devices or connect to an AP, particularly when connecting for the first time. In addition, it is often not clear to a user of a first Bluetooth device which Bluetooth devices or APs are identified in the menu or list of devices or APs in range of the first Bluetooth device. For example, as described above, Bluetooth devices are usually identified by Bluetooth address and APs are usually identified by BSSID or MAC address. Often times, a user is uncertain what devices or APs the first Bluetooth device is connecting to, or pairing with, because of, for example, unfamiliarity with the Bluetooth address, BSSID, or MAC address of the devices or APs in range of the first Bluetooth device.
Thus there is need for a system and method for easier and more intuitive and/or automatic pairing/connection between devices. There is also a need for a system and method for such pairing/connection to occur with minimal or no user intervention.